function McEchartsUtil(type){
  this.type = type;
  // 标题通用配置
  var titleConfig = [
    {
      id: 'echartOption.title.show',
      label: '显示标题',
      type: 'switch'
    },
    {
      id: 'echartOption.title.text',
      label: '标题文本',
      type: 'input'
    },
    {
      id: 'echartOption.title.link',
      label: '标题文本链接',
      type: 'input'
    },
    {
      id: 'echartOption.title.target',
      label: '指定窗口打开',
      type: 'select',
      list: [
        {
          label: '当前窗口打开',
          value: 'self'
        },
        {
          label: '新窗口打开',
          value: 'blank'
        }
      ]
    },
    {
      id: 'echartOption.title.textAlign',
      label: '标题水平对齐',
      type: 'select',
      list: [
        {
          label: 'auto',
          value: 'auto'
        },
        {
          label: 'left',
          value: 'left'
        },
        {
          label: 'right',
          value: 'right'
        },
        {
          label: 'center',
          value: 'center'
        }
      ]
    },
    {
      id: 'echartOption.title.textVerticalAlign',
      label: '标题垂直对齐',
      type: 'select',
      list: [
        {
          label: 'auto',
          value: 'auto'
        },
        {
          label: 'top',
          value: 'top'
        },
        {
          label: 'bottom',
          value: 'bottom'
        },
        {
          label: 'middle',
          value: 'middle'
        }
      ]
    },
    {
      id: 'echartOption.title.padding',
      label: '标题内边距',
      type: 'padding'
    },
    {
      id: 'echartOption.title.itemGap',
      label: '主副标题间距',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.title.backgroundColor',
      label: '标题背景色',
      type: 'color'
    },
    {
      id: 'echartOption.title.borderColor',
      label: '标题边框色',
      type: 'color'
    },
    {
      id: 'echartOption.title.borderWidth',
      label: '标题边框宽',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.title.borderRadius',
      label: '标题边框圆角',
      type: 'padding'
    },
    {
      id: 'echartOption.title.shadowBlur',
      label: '标题阴影模糊大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.title.shadowColor',
      label: '标题阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.title.shadowOffsetX',
      label: '标题阴影X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.title.shadowOffsetY',
      label: '标题阴影Y',
      type: 'inputNumber'
    },
    {
      label: '主标题文字样式',
      type: 'title'
    },
    {
      id: 'echartOption.title.textStyle.color',
      label: '标题字体颜色',
      type: 'color'
    },
    {
      id: 'echartOption.title.textStyle.fontStyle',
      label: '标题字体风格',
      type: 'select',
      list: [
        {
          label: 'normal',
          value: 'normal'
        },
        {
          label: 'italic',
          value: 'italic'
        },
        {
          label: 'oblique',
          value: 'oblique'
        }
      ]
    },
    {
      id: 'echartOption.title.textStyle.fontWeight',
      label: '标题字体粗细',
      type: 'select',
      list: [
        {
          label: 'normal',
          value: 'normal'
        },
        {
          label: 'bold',
          value: 'bold'
        },
        {
          label: 'bolder',
          value: 'bolder'
        },
        {
          label: 'lighter',
          value: 'lighter'
        },
        {
          label: '100',
          value: '100'
        },
        {
          label: '200',
          value: '200'
        },
        {
          label: '300',
          value: '300'
        },
        {
          label: '400',
          value: '400'
        },
        {
          label: '500',
          value: '500'
        },
        {
          label: '600',
          value: '600'
        },
        {
          label: '700',
          value: '700'
        },
        {
          label: '800',
          value: '800'
        },
        {
          label: '900',
          value: '900'
        }
      ]
    },
    {
      id: 'echartOption.title.textStyle.fontFamily',
      label: '标题字体系列',
      type: 'select',
      list: [
        {
          label: 'sans-serif',
          value: 'sans-serif'
        },
        {
          label: 'monospace',
          value: 'monospace'
        },
        {
          label: 'Arial',
          value: 'Arial'
        },
        {
          label: 'Courier New',
          value: 'Courier New'
        },
        {
          label: 'Microsoft YaHei',
          value: 'Microsoft YaHei'
        }
      ]
    },
    {
      id: 'echartOption.title.textStyle.fontSize',
      label: '标题字体大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.title.textStyle.textBorderColor',
      label: '文字描边颜色',
      type: 'color'
    },
    {
      id: 'echartOption.title.textStyle.textBorderWidth',
      label: '文字描边宽度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.title.textStyle.textShadowColor',
      label: '文字阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.title.textStyle.textShadowBlur',
      label: '文字阴影长度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.title.textStyle.textShadowOffsetX',
      label: '文字阴影X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.title.textStyle.textShadowOffsetY',
      label: '文字阴影Y',
      type: 'input'
    },
    {
      id: 'echartOption.title.subtext',
      label: '副标题文本',
      type: 'input'
    },
    {
      id: 'echartOption.title.sublink',
      label: '副标题链接',
      type: 'input'
    },
    {
      id: 'echartOption.title.subtarget',
      label: '副标题打开方式',
      type: 'select',
      list: [
        {
          label: '当前窗口打开',
          value: 'self'
        },
        {
          label: '新窗口打开',
          value: 'blank'
        }
      ]
    },
    {
      label: '副标题文字样式',
      type: 'title'
    },
    {
      id: 'echartOption.title.subtextStyle.color',
      label: '副标题颜色',
      type: 'color'
    },
    {
      id: 'echartOption.title.subtextStyle.fontStyle',
      label: '副标题字体风格',
      type: 'select',
      list: [
        {
          label: 'normal',
          value: 'normal'
        },
        {
          label: 'italic',
          value: 'italic'
        },
        {
          label: 'oblique',
          value: 'oblique'
        }
      ]
    },
    {
      id: 'echartOption.title.subtextStyle.fontWeight',
      label: '副标题字体粗细',
      type: 'select',
      list: [
        {
          label: 'normal',
          value: 'normal'
        },
        {
          label: 'bold',
          value: 'bold'
        },
        {
          label: 'bolder',
          value: 'bolder'
        },
        {
          label: 'lighter',
          value: 'lighter'
        }
      ]
    },
    {
      id: 'echartOption.title.subtextStyle.fontFamily',
      label: '副标题字体系列',
      type: 'select',
      list: [
        {
          label: 'sans-serif',
          value: 'sans-serif'
        },
        {
          label: 'monospace',
          value: 'monospace'
        },
        {
          label: 'Arial',
          value: 'Arial'
        },
        {
          label: 'Courier New',
          value: 'Courier New'
        },
        {
          label: 'Microsoft YaHei',
          value: 'Microsoft YaHei'
        }
      ]
    },
    {
      id: 'echartOption.title.subtextStyle.fontSize',
      label: '副标题字体大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.title.subtextStyle.align',
      label: '副标题水平对齐',
      type: 'select',
      list: [
        {
          label: 'auto',
          value: 'auto'
        },
        {
          label: 'left',
          value: 'left'
        },
        {
          label: 'center',
          value: 'center'
        },
        {
          label: 'right',
          value: 'right'
        }
      ]
    },
    {
      id: 'echartOption.title.subtextStyle.verticalAlign',
      label: '副标题垂直对齐',
      type: 'select',
      list: [
        {
          label: 'auto',
          value: 'auto'
        },
        {
          label: 'top',
          value: 'top'
        },
        {
          label: 'middle',
          value: 'middle'
        },
        {
          label: 'bottom',
          value: 'bottom'
        }
      ]
    },
    {
      id: 'echartOption.title.subtextStyle.textBorderColor',
      label: '副标题描边颜色',
      type: 'color'
    },
    {
      id: 'echartOption.title.subtextStyle.textBorderWidth',
      label: '副标题描边宽度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.title.subtextStyle.textShadowColor',
      label: '副标题阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.title.subtextStyle.textShadowBlur',
      label: '副标题阴影长度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.title.subtextStyle.textShadowOffsetX',
      label: '副标题阴影X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.title.subtextStyle.textShadowOffsetY',
      label: '副标题阴影Y',
      type: 'inputNumber'
    }
  ];
// 图例通用配置
  var legendConfig = [
    {
      id: 'echartOption.legend.show',
      label: '显示图例',
      type: 'switch'
    },
    {
      id: 'echartOption.legend.type',
      label: '图例类型',
      type: 'select',
      list: [
        {
          label: 'plain',
          value: 'plain'
        },
        {
          label: 'scroll',
          value: 'scroll'
        }
      ]
    },
    {
      id: 'echartOption.legend.left',
      label: '图例左侧距离',
      type: 'input'
    },
    {
      id: 'echartOption.legend.top',
      label: '图例上侧距离',
      type: 'input'
    },
    {
      id: 'echartOption.legend.right',
      label: '图例右侧距离',
      type: 'input'
    },
    {
      id: 'echartOption.legend.bottom',
      label: '图例下侧距离',
      type: 'input'
    },
    {
      id: 'echartOption.legend.orient',
      label: '图例布局朝向',
      type: 'select',
      list: [
        {
          label: 'horizontal',
          value: 'horizontal'
        },
        {
          label: 'vertical',
          value: 'vertical'
        }
      ]
    },
    {
      id: 'echartOption.legend.align',
      label: '图例对齐方式',
      type: 'select',
      list: [
        {
          label: 'auto',
          value: 'auto'
        },
        {
          label: 'left',
          value: 'left'
        },
        {
          label: 'right',
          value: 'right'
        }
      ]
    },
    {
      id: 'echartOption.legend.padding',
      label: '图例内边距',
      type: 'padding'
    },
    {
      id: 'echartOption.legend.itemGap',
      label: '图例间隔',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.itemWidth',
      label: '图例宽度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.itemHeight',
      label: '图例高度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.selectedMode',
      label: '图例选择模式',
      type: 'switch'
    },
    {
      id: 'echartOption.legend.inactiveColor',
      label: '图例关闭颜色',
      type: 'color'
    },
    {
      label: '图例的公用文本样式',
      type: 'title'
    },
    {
      id: 'echartOption.legend.textStyle.color',
      label: '文字颜色',
      type: 'color'
    },
    {
      id: 'echartOption.legend.textStyle.fontStyle',
      label: '文字字体风格',
      type: 'select',
      list: [
        {
          label: 'normal',
          value: 'normal'
        },
        {
          label: 'italic',
          value: 'italic'
        },
        {
          label: 'oblique',
          value: 'oblique'
        }
      ]
    },
    {
      id: 'echartOption.legend.textStyle.fontWeight',
      label: '文字字体粗细',
      type: 'select',
      list: [
        {
          label: 'normal',
          value: 'normal'
        },
        {
          label: 'bold',
          value: 'bold'
        },
        {
          label: 'bolder',
          value: 'bolder'
        },
        {
          label: '100',
          value: '100'
        },
        {
          label: '200',
          value: '200'
        },
        {
          label: '300',
          value: '300'
        },
        {
          label: '400',
          value: '400'
        },
        {
          label: '500',
          value: '500'
        },
        {
          label: '600',
          value: '600'
        },
        {
          label: '700',
          value: '700'
        },
        {
          label: '800',
          value: '800'
        },
        {
          label: '900',
          value: '900'
        }
      ]
    },
    {
      id: 'echartOption.legend.textStyle.fontFamily',
      label: '文字字体系列',
      type: 'select',
      list: [
        {
          label: 'serif',
          value: 'serif'
        },
        {
          label: 'monospace',
          value: 'monospace'
        },
        {
          label: 'Arial',
          value: 'Arial'
        },
        {
          label: 'Courier New',
          value: 'Courier New'
        },
        {
          label: 'Microsoft YaHei',
          value: 'Microsoft YaHei'
        }
      ]
    },
    {
      id: 'echartOption.legend.textStyle.fontSize',
      label: '文字字体大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.textStyle.backgroundColor',
      label: '文字背景色',
      type: 'color'
    },
    {
      id: 'echartOption.legend.textStyle.borderColor',
      label: '文字边框颜色',
      type: 'color'
    },
    {
      id: 'echartOption.legend.textStyle.borderWidth',
      label: '文字边框宽度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.textStyle.borderRadius',
      label: '文字圆角',
      type: 'padding'
    },
    {
      id: 'echartOption.legend.textStyle.padding',
      label: '文字内边距',
      type: 'padding'
    },
    {
      id: 'echartOption.legend.textStyle.shadowColor',
      label: '文字阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.legend.textStyle.shadowBlur',
      label: '文字阴影长度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.textStyle.shadowOffsetX',
      label: '文字阴影X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.textStyle.shadowOffsetY',
      label: '文字阴影Y',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.textStyle.textBorderColor',
      label: '文字描边颜色',
      type: 'color'
    },
    {
      id: 'echartOption.legend.textStyle.textBorderWidth',
      label: '文字描边宽度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.textStyle.textShadowColor',
      label: '文字描边阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.legend.textStyle.textShadowBlur',
      label: '文字描边阴影长度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.textStyle.textShadowOffsetX',
      label: '文字描边阴影X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.textStyle.textShadowOffsetY',
      label: '文字描边阴影Y',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.icon',
      label: '图例项的icon',
      type: 'input'
    },
    {
      id: 'echartOption.legend.backgroundColor',
      label: '图例背景色',
      type: 'color'
    },
    {
      id: 'echartOption.legend.borderColor',
      label: '图例边框颜色',
      type: 'color'
    },
    {
      id: 'echartOption.legend.borderWidth',
      label: '图例边框宽度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.borderRadius',
      label: '图例边框圆角',
      type: 'padding'
    },
    {
      id: 'echartOption.legend.shadowBlur',
      label: '图例阴影模糊大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.shadowColor',
      label: '图例阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.legend.shadowOffsetX',
      label: '阴影水平偏移',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.shadowOffsetY',
      label: '阴影垂直偏移',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.pageButtonItemGap',
      label: '按钮和分页间隔',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.pageButtonGap',
      label: '控制块和图例间隔',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.pageButtonPosition',
      label: '控制块和图例间隔',
      type: 'select',
      list: [
        {
          label: '控制块在右或下',
          value: 'end'
        },
        {
          label: '控制块在左或上',
          value: 'start'
        }
      ]
    },
    {
      id: 'echartOption.legend.pageIconColor',
      label: '翻页按钮颜色',
      type: 'color'
    },
    {
      id: 'echartOption.legend.pageIconInactiveColor',
      label: '翻页按钮不激活颜色',
      type: 'color'
    },
    {
      id: 'echartOption.legend.pageIconSize',
      label: '翻页按钮大小',
      type: 'inputNumber'
    },
    {
      label: '图例页信息的文字样式',
      type: 'title'
    },
    {
      id: 'echartOption.legend.pageTextStyle.color',
      label: '分页字体颜色',
      type: 'color'
    },
    {
      id: 'echartOption.legend.pageTextStyle.fontStyle',
      label: '分页字体风格',
      type: 'select',
      list: [
        {
          label: 'normal',
          value: 'normal'
        },
        {
          label: 'italic',
          value: 'italic'
        },
        {
          label: 'oblique',
          value: 'oblique'
        }
      ]
    },
    {
      id: 'echartOption.legend.pageTextStyle.fontWeight',
      label: '分页字体粗细',
      type: 'select',
      list: [
        {
          label: 'normal',
          value: 'normal'
        },
        {
          label: 'bold',
          value: 'bold'
        },
        {
          label: 'bolder',
          value: 'bolder'
        },
        {
          label: '100',
          value: '100'
        },
        {
          label: '200',
          value: '200'
        },
        {
          label: '300',
          value: '300'
        },
        {
          label: '400',
          value: '400'
        },
        {
          label: '500',
          value: '500'
        },
        {
          label: '600',
          value: '600'
        },
        {
          label: '700',
          value: '700'
        },
        {
          label: '800',
          value: '800'
        },
        {
          label: '900',
          value: '900'
        }
      ]
    },
    {
      id: 'echartOption.legend.pageTextStyle.fontFamily',
      label: '分页字体系列',
      type: 'select',
      list: [
        {
          label: 'serif',
          value: 'serif'
        },
        {
          label: 'monospace',
          value: 'monospace'
        },
        {
          label: 'Arial',
          value: 'Arial'
        },
        {
          label: 'Courier New',
          value: 'Courier New'
        },
        {
          label: 'Microsoft YaHei',
          value: 'Microsoft YaHei'
        }
      ]
    },
    {
      id: 'echartOption.legend.pageTextStyle.fontSize',
      label: '分页字体大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.pageTextStyle.textBorderColor',
      label: '分页边框颜色',
      type: 'color'
    },
    {
      id: 'echartOption.legend.pageTextStyle.textBorderWidth',
      label: '分页边框宽度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.pageTextStyle.textShadowColor',
      label: '分页阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.legend.pageTextStyle.textShadowBlur',
      label: '分页阴影长度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.pageTextStyle.textShadowOffsetX',
      label: '分页分页文字阴影X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.pageTextStyle.textShadowOffsetY',
      label: '分页文字阴影Y',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.animation',
      label: '图例翻页动画',
      type: 'switch'
    },
    {
      id: 'echartOption.legend.animationDurationUpdate',
      label: '图例翻页动画时长',
      type: 'inputNumber'
    },
    {
      label: '选择器按钮的文本标签样式',
      type: 'title'
    },
    {
      id: 'echartOption.legend.selectorLabel.show',
      label: '选择器按钮显示',
      type: 'switch'
    },
    {
      id: 'echartOption.legend.selectorLabel.distance',
      label: '距离图形元素距离',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.selectorLabel.color',
      label: '文字颜色',
      type: 'color'
    },
    {
      id: 'echartOption.legend.selectorLabel.fontStyle',
      label: '字体风格',
      type: 'select',
      list: [
        {
          label: 'normal',
          value: 'normal'
        },
        {
          label: 'italic',
          value: 'italic'
        },
        {
          label: 'oblique',
          value: 'oblique'
        }
      ]
    },
    {
      id: 'echartOption.legend.selectorLabel.fontWeight',
      label: '字体粗细',
      type: 'select',
      list: [
        {
          label: 'normal',
          value: 'normal'
        },
        {
          label: 'bold',
          value: 'bold'
        },
        {
          label: 'bolder',
          value: 'bolder'
        },
        {
          label: '100',
          value: '100'
        },
        {
          label: '200',
          value: '200'
        },
        {
          label: '300',
          value: '300'
        },
        {
          label: '400',
          value: '400'
        },
        {
          label: '500',
          value: '500'
        },
        {
          label: '600',
          value: '600'
        },
        {
          label: '700',
          value: '700'
        },
        {
          label: '800',
          value: '800'
        },
        {
          label: '900',
          value: '900'
        }
      ]
    },
    {
      id: 'echartOption.legend.selectorLabel.fontFamily',
      label: '字体系列',
      type: 'select',
      list: [
        {
          label: 'serif',
          value: 'serif'
        },
        {
          label: 'monospace',
          value: 'monospace'
        },
        {
          label: 'Arial',
          value: 'Arial'
        },
        {
          label: 'Courier New',
          value: 'Courier New'
        },
        {
          label: 'Microsoft YaHei',
          value: 'Microsoft YaHei'
        }
      ]
    },
    {
      id: 'echartOption.legend.selectorLabel.fontSize',
      label: '字体大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.selectorLabel.align',
      label: '水平对齐方式',
      type: 'select',
      list: [
        {
          label: 'left',
          value: 'left'
        },
        {
          label: 'center',
          value: 'center'
        },
        {
          label: 'right',
          value: 'right'
        }
      ]
    },
    {
      id: 'echartOption.legend.selectorLabel.verticalAlign',
      label: '垂直对齐方式',
      type: 'select',
      list: [
        {
          label: 'top',
          value: 'top'
        },
        {
          label: 'middle',
          value: 'middle'
        },
        {
          label: 'bottom',
          value: 'bottom'
        }
      ]
    },
    {
      id: 'echartOption.legend.selectorLabel.backgroundColor',
      label: '文字块背景色',
      type: 'color'
    },
    {
      id: 'echartOption.legend.selectorLabel.borderColor',
      label: '文字块边框颜色',
      type: 'color'
    },
    {
      id: 'echartOption.legend.selectorLabel.borderWidth',
      label: '文字块边框宽度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.selectorLabel.borderRadius',
      label: '文字块边框圆角',
      type: 'padding'
    },
    {
      id: 'echartOption.legend.selectorLabel.padding',
      label: '文字块内边距',
      type: 'padding'
    },
    {
      id: 'echartOption.legend.selectorLabel.shadowColor',
      label: '文字块阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.legend.selectorLabel.shadowBlur',
      label: '文字块阴影长度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.selectorLabel.shadowOffsetX',
      label: '文字块阴影X偏移',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.selectorLabel.shadowOffsetY',
      label: '文字块阴影Y偏移',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.selectorLabel.textBorderColor',
      label: '文字描边颜色',
      type: 'color'
    },
    {
      id: 'echartOption.legend.selectorLabel.textBorderWidth',
      label: '文字描边宽度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.selectorLabel.textShadowColor',
      label: '文字描边阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.legend.selectorLabel.textShadowBlur',
      label: '文字描边阴影长度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.selectorLabel.textShadowOffsetX',
      label: '文字描边阴影X偏移',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.selectorLabel.textShadowOffsetY',
      label: '文字描边阴影Y偏移',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.selectorPosition',
      label: '选择器位置',
      type: 'select',
      list: [
        {
          label: 'auto',
          value: 'auto'
        },
        {
          label: 'end',
          value: 'end'
        },
        {
          label: 'start',
          value: 'start'
        }
      ]
    },
    {
      id: 'echartOption.legend.selectorItemGap',
      label: '选择器按钮间隔',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.legend.selectorButtonGap',
      label: '选择器按钮与图例间隔',
      type: 'inputNumber'
    }
  ];

// 直角坐标系内绘图网格grid通用配置
  var grid = [
    {
      id: 'echartOption.grid.show',
      label: '显示直角坐标系网格',
      type: 'switch'
    },
    {
      id: 'echartOption.grid.left',
      label: '离容器左侧距离',
      type: 'input'
    },
    {
      id: 'echartOption.grid.top',
      label: '离容器上侧距离',
      type: 'input'
    },
    {
      id: 'echartOption.grid.right',
      label: '离容器右侧距离',
      type: 'input'
    },
    {
      id: 'echartOption.grid.bottom',
      label: '离容器下侧距离',
      type: 'input'
    },
    {
      id: 'echartOption.grid.containLabel',
      label: '包含坐标轴刻度标签',
      type: 'switch'
    },
    {
      id: 'echartOption.grid.backgroundColor',
      label: '网格背景色',
      type: 'color'
    },
    {
      id: 'echartOption.grid.borderColor',
      label: '网格边框颜色',
      type: 'color'
    },
    {
      id: 'echartOption.grid.borderWidth',
      label: '网格边框宽度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.grid.shadowBlur',
      label: '图形阴影模糊大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.grid.shadowColor',
      label: '图形阴影模糊颜色',
      type: 'color'
    },
    {
      id: 'echartOption.grid.shadowOffsetX',
      label: '图形阴影模糊X偏移',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.grid.shadowOffsetY',
      label: '图形阴影模糊Y偏移',
      type: 'inputNumber'
    }
  ];

// X轴通用配置
  var xAxis = [
    {
      id: 'echartOption.xAxis.show',
      label: '显示X轴',
      type: 'switch'
    },
    {
      id: 'echartOption.xAxis.type',
      label: '坐标轴类型',
      type: 'select',
      list: [
        {
          label: '数值轴',
          value: 'value'
        },
        {
          label: '类目轴',
          value: 'category'
        },
        {
          label: '时间轴',
          value: 'time'
        },
        {
          label: '对数轴',
          value: 'log'
        }
      ]
    },
    {
      id: 'echartOption.xAxis.position',
      label: 'X轴位置',
      type: 'select',
      list: [
        {
          label: 'top',
          value: 'top'
        },
        {
          label: 'bottom',
          value: 'bottom'
        }
      ]
    },
    {
      id: 'echartOption.xAxis.offset',
      label: 'X轴偏移',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.name',
      label: '坐标轴名称',
      type: 'input'
    },
    {
      id: 'echartOption.xAxis.nameLocation',
      label: '坐标轴名称位置',
      type: 'select',
      list: [
        {
          label: 'start',
          value: 'start'
        },
        {
          label: 'middle',
          value: 'middle'
        },
        {
          label: 'end',
          value: 'end'
        }
      ]
    },
    {
      id: 'echartOption.xAxis.nameGap',
      label: '坐标轴名称与轴线距离',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.nameRotate',
      label: '坐标轴名字旋转',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.inverse',
      label: '反向坐标轴',
      type: 'switch'
    },
    {
      id: 'echartOption.xAxis.splitNumber',
      label: '分割段数',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.minorSplitLine.show',
      label: '显示次分隔线',
      type: 'switch'
    },
    {
      id: 'echartOption.xAxis.splitArea.show',
      label: '显示分隔区域',
      type: 'switch'
    },
    {
      label: '坐标轴名称的文字样式',
      type: 'title'
    },
    {
      id: 'echartOption.xAxis.nameTextStyle.color',
      label: '坐标轴名称颜色',
      type: 'color'
    },
    {
      id: 'echartOption.xAxis.nameTextStyle.fontStyle',
      label: '坐标轴名称字体风格',
      type: 'select',
      list: [
        {
          label: 'normal',
          value: 'normal'
        },
        {
          label: 'italic',
          value: 'italic'
        },
        {
          label: 'oblique',
          value: 'oblique'
        }
      ]
    },
    {
      id: 'echartOption.xAxis.nameTextStyle.fontWeight',
      label: '坐标轴名称字体粗细',
      type: 'select',
      list: [
        {
          label: 'normal',
          value: 'normal'
        },
        {
          label: 'bold',
          value: 'bold'
        },
        {
          label: 'bolder',
          value: 'bolder'
        },
        {
          label: 'lighter',
          value: 'lighter'
        },
        {
          label: '100',
          value: '100'
        },
        {
          label: '200',
          value: '200'
        },
        {
          label: '300',
          value: '300'
        },
        {
          label: '400',
          value: '400'
        },
        {
          label: '500',
          value: '500'
        },
        {
          label: '600',
          value: '600'
        },
        {
          label: '700',
          value: '700'
        },
        {
          label: '800',
          value: '800'
        },
        {
          label: '900',
          value: '900'
        }
      ]
    },
    {
      id: 'echartOption.xAxis.nameTextStyle.fontFamily',
      label: '坐标轴名称字体系列',
      type: 'select',
      list: [
        {
          label: 'sans-serif',
          value: 'sans-serif'
        },
        {
          label: 'monospace',
          value: 'monospace'
        },
        {
          label: 'Arial',
          value: 'Arial'
        },
        {
          label: 'Courier New',
          value: 'Courier New'
        },
        {
          label: 'Microsoft YaHei',
          value: 'Microsoft YaHei'
        }
      ]
    },
    {
      id: 'echartOption.xAxis.nameTextStyle.fontSize',
      label: '坐标轴名称字体大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.nameTextStyle.align',
      label: '坐标轴名称水平对齐',
      type: 'select',
      list: [
        {
          label: 'auto',
          value: 'auto'
        },
        {
          label: 'left',
          value: 'left'
        },
        {
          label: 'center',
          value: 'center'
        },
        {
          label: 'right',
          value: 'right'
        }
      ]
    },
    {
      id: 'echartOption.xAxis.nameTextStyle.verticalAlign',
      label: '坐标轴名称垂直对齐',
      type: 'select',
      list: [
        {
          label: 'auto',
          value: 'auto'
        },
        {
          label: 'top',
          value: 'top'
        },
        {
          label: 'middle',
          value: 'middle'
        },
        {
          label: 'bottom',
          value: 'bottom'
        }
      ]
    },
    {
      id: 'echartOption.xAxis.nameTextStyle.textBorderColor',
      label: '坐标轴名称边框颜色',
      type: 'color'
    },
    {
      id: 'echartOption.xAxis.nameTextStyle.textBorderWidth',
      label: '坐标轴名称边框宽度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.nameTextStyle.borderRadius',
      label: '坐标轴名称圆角',
      type: 'padding'
    },
    {
      id: 'echartOption.xAxis.nameTextStyle.padding',
      label: '坐标轴名称内边距',
      type: 'padding'
    },
    {
      id: 'echartOption.xAxis.nameTextStyle.textShadowColor',
      label: '坐标轴名称描边颜色',
      type: 'color'
    },
    {
      id: 'echartOption.xAxis.nameTextStyle.textShadowBlur',
      label: '坐标轴名称描边长度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.nameTextStyle.textShadowOffsetX',
      label: '坐标轴名称描边X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.nameTextStyle.textShadowOffsetY',
      label: '坐标轴名称描边Y',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.nameTextStyle.shadowColor',
      label: '坐标轴名称阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.xAxis.nameTextStyle.shadowBlur',
      label: '坐标轴名称阴影长度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.nameTextStyle.shadowOffsetX',
      label: '坐标轴名称阴影X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.nameTextStyle.shadowOffsetY',
      label: '坐标轴名称阴影Y',
      type: 'inputNumber'
    },
    {
      label: '坐标轴轴线相关设置',
      type: 'title'
    },
    {
      id: 'echartOption.xAxis.axisLine.show',
      label: '显示坐标轴轴线',
      type: 'switch'
    },
    {
      id: 'echartOption.xAxis.axisLine.lineStyle.color',
      label: '坐标轴线线颜色',
      type: 'color'
    },
    {
      id: 'echartOption.xAxis.axisLine.lineStyle.width',
      label: '坐标轴线线宽',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.axisLine.lineStyle.type',
      label: '坐标轴线类型',
      type: 'select',
      list: [
        {
          label: 'solid',
          value: 'solid'
        },
        {
          label: 'dashed',
          value: 'dashed'
        },
        {
          label: 'dotted',
          value: 'dotted'
        }
      ]
    },
    {
      id: 'echartOption.xAxis.axisLine.lineStyle.shadowBlur',
      label: '坐标轴阴影模糊大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.axisLine.lineStyle.shadowColor',
      label: '坐标轴阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.xAxis.axisLine.lineStyle.shadowOffsetX',
      label: '坐标轴阴影X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.axisLine.lineStyle.shadowOffsetY',
      label: '坐标轴阴影Y',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.axisLine.lineStyle.opacity',
      label: '坐标轴透明度',
      type: 'inputNumber'
    },
    {
      label: '坐标轴刻度相关设置',
      type: 'title'
    },
    {
      id: 'echartOption.xAxis.axisTick.show',
      label: '显示坐标轴刻度',
      type: 'switch'
    },
    {
      id: 'echartOption.xAxis.axisTick.inside',
      label: '是否朝内',
      type: 'switch'
    },
    {
      id: 'echartOption.xAxis.axisTick.length',
      label: '坐标轴刻度长度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.axisTick.lineStyle.width',
      label: '坐标轴线线宽',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.axisTick.lineStyle.type',
      label: '坐标轴线类型',
      type: 'select',
      list: [
        {
          label: 'solid',
          value: 'solid'
        },
        {
          label: 'dashed',
          value: 'dashed'
        },
        {
          label: 'dotted',
          value: 'dotted'
        }
      ]
    },
    {
      id: 'echartOption.xAxis.axisTick.lineStyle.shadowBlur',
      label: '坐标轴阴影模糊大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.axisTick.lineStyle.shadowColor',
      label: '坐标轴阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.xAxis.axisTick.lineStyle.shadowOffsetX',
      label: '坐标轴阴影X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.axisTick.lineStyle.shadowOffsetY',
      label: '坐标轴阴影Y',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.axisTick.lineStyle.opacity',
      label: '坐标轴透明度',
      type: 'inputNumber'
    },
    {
      label: '坐标轴次刻度线相关设置',
      type: 'title'
    },
    {
      id: 'echartOption.xAxis.minorTick.show',
      label: '显示次刻度线',
      type: 'switch'
    },
    {
      id: 'echartOption.xAxis.minorTick.splitNumber',
      label: '次刻度线分割数',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.minorTick.length',
      label: '次刻度线长度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.minorTick.lineStyle.width',
      label: '坐标轴线线宽',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.minorTick.lineStyle.type',
      label: '坐标轴线类型',
      type: 'select',
      list: [
        {
          label: 'solid',
          value: 'solid'
        },
        {
          label: 'dashed',
          value: 'dashed'
        },
        {
          label: 'dotted',
          value: 'dotted'
        }
      ]
    },
    {
      id: 'echartOption.xAxis.minorTick.lineStyle.shadowBlur',
      label: '坐标轴阴影模糊大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.minorTick.lineStyle.shadowColor',
      label: '坐标轴阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.xAxis.minorTick.lineStyle.shadowOffsetX',
      label: '坐标轴阴影X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.minorTick.lineStyle.shadowOffsetY',
      label: '坐标轴阴影Y',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.minorTick.lineStyle.opacity',
      label: '坐标轴透明度',
      type: 'inputNumber'
    },
    {
      label: '坐标轴刻度标签的相关设置',
      type: 'title'
    },
    {
      id: 'echartOption.xAxis.axisLabel.show',
      label: '显示刻度标签',
      type: 'switch'
    },
    {
      id: 'echartOption.xAxis.axisLabel.inside',
      label: '是否朝内',
      type: 'switch'
    },
    {
      id: 'echartOption.xAxis.axisLabel.inside',
      label: '刻度标签与轴线距离',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.axisLabel.fontStyle',
      label: '刻度标签字体风格',
      type: 'select',
      list: [
        {
          label: 'normal',
          value: 'normal'
        },
        {
          label: 'italic',
          value: 'italic'
        },
        {
          label: 'oblique',
          value: 'oblique'
        }
      ]
    },
    {
      id: 'echartOption.xAxis.axisLabel.fontWeight',
      label: '刻度标签字体粗细',
      type: 'select',
      list: [
        {
          label: 'normal',
          value: 'normal'
        },
        {
          label: 'bold',
          value: 'bold'
        },
        {
          label: 'bolder',
          value: 'bolder'
        },
        {
          label: 'lighter',
          value: 'lighter'
        },
        {
          label: '100',
          value: '100'
        },
        {
          label: '200',
          value: '200'
        },
        {
          label: '300',
          value: '300'
        },
        {
          label: '400',
          value: '400'
        },
        {
          label: '500',
          value: '500'
        },
        {
          label: '600',
          value: '600'
        },
        {
          label: '700',
          value: '700'
        },
        {
          label: '800',
          value: '800'
        },
        {
          label: '900',
          value: '900'
        }
      ]
    },
    {
      id: 'echartOption.xAxis.axisLabel.fontFamily',
      label: '刻度标签字体系列',
      type: 'select',
      list: [
        {
          label: 'sans-serif',
          value: 'sans-serif'
        },
        {
          label: 'monospace',
          value: 'monospace'
        },
        {
          label: 'Arial',
          value: 'Arial'
        },
        {
          label: 'Courier New',
          value: 'Courier New'
        },
        {
          label: 'Microsoft YaHei',
          value: 'Microsoft YaHei'
        }
      ]
    },
    {
      id: 'echartOption.xAxis.axisLabel.fontSize',
      label: '刻度标签字体大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.axisLabel.align',
      label: '刻度标签水平对齐',
      type: 'select',
      list: [
        {
          label: 'auto',
          value: 'auto'
        },
        {
          label: 'left',
          value: 'left'
        },
        {
          label: 'center',
          value: 'center'
        },
        {
          label: 'right',
          value: 'right'
        }
      ]
    },
    {
      id: 'echartOption.xAxis.axisLabel.verticalAlign',
      label: '刻度标签垂直对齐',
      type: 'select',
      list: [
        {
          label: 'auto',
          value: 'auto'
        },
        {
          label: 'top',
          value: 'top'
        },
        {
          label: 'middle',
          value: 'middle'
        },
        {
          label: 'bottom',
          value: 'bottom'
        }
      ]
    },
    {
      id: 'echartOption.xAxis.axisLabel.textBorderColor',
      label: '刻度标签边框颜色',
      type: 'color'
    },
    {
      id: 'echartOption.xAxis.axisLabel.textBorderWidth',
      label: '刻度标签边框宽度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.axisLabel.borderRadius',
      label: '刻度标签圆角',
      type: 'padding'
    },
    {
      id: 'echartOption.xAxis.axisLabel.padding',
      label: '刻度标签内边距',
      type: 'padding'
    },
    {
      id: 'echartOption.xAxis.axisLabel.textShadowColor',
      label: '刻度标签描边颜色',
      type: 'color'
    },
    {
      id: 'echartOption.xAxis.axisLabel.textShadowBlur',
      label: '刻度标签描边长度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.axisLabel.textShadowOffsetX',
      label: '刻度标签描边X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.axisLabel.textShadowOffsetY',
      label: '刻度标签描边Y',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.axisLabel.shadowColor',
      label: '刻度标签阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.xAxis.axisLabel.shadowBlur',
      label: '刻度标签阴影长度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.axisLabel.shadowOffsetX',
      label: '刻度标签阴影X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.axisLabel.shadowOffsetY',
      label: '刻度标签阴影Y',
      type: 'inputNumber'
    },
    {
      label: '坐标轴在grid区域中的分隔线',
      type: 'title'
    },
    {
      id: 'echartOption.xAxis.splitLine.show',
      label: '显示分隔线',
      type: 'switch'
    },
    {
      id: 'echartOption.xAxis.splitLine.lineStyle.width',
      label: '分隔线线线宽',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.splitLine.lineStyle.type',
      label: '分隔线线类型',
      type: 'select',
      list: [
        {
          label: 'solid',
          value: 'solid'
        },
        {
          label: 'dashed',
          value: 'dashed'
        },
        {
          label: 'dotted',
          value: 'dotted'
        }
      ]
    },
    {
      id: 'echartOption.xAxis.splitLine.lineStyle.shadowBlur',
      label: '分隔线阴影模糊大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.splitLine.lineStyle.shadowColor',
      label: '分隔线阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.xAxis.splitLine.lineStyle.shadowOffsetX',
      label: '分隔线阴影X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.splitLine.lineStyle.shadowOffsetY',
      label: '分隔线阴影Y',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.xAxis.splitLine.lineStyle.opacity',
      label: '分隔线透明度',
      type: 'inputNumber'
    }
  ];

// y轴通用配置
  var yAxis = [
    {
      id: 'echartOption.yAxis.show',
      label: '显示Y轴',
      type: 'switch'
    },
    {
      id: 'echartOption.yAxis.type',
      label: '坐标轴类型',
      type: 'select',
      list: [
        {
          label: '数值轴',
          value: 'value'
        },
        {
          label: '类目轴',
          value: 'category'
        },
        {
          label: '时间轴',
          value: 'time'
        },
        {
          label: '对数轴',
          value: 'log'
        }
      ]
    },
    {
      id: 'echartOption.yAxis.position',
      label: 'Y轴位置',
      type: 'select',
      list: [
        {
          label: 'left',
          value: 'left'
        },
        {
          label: 'right',
          value: 'right'
        }
      ]
    },
    {
      id: 'echartOption.yAxis.offset',
      label: 'Y轴偏移',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.name',
      label: '坐标轴名称',
      type: 'input'
    },
    {
      id: 'echartOption.yAxis.nameLocation',
      label: '坐标轴名称位置',
      type: 'select',
      list: [
        {
          label: 'start',
          value: 'start'
        },
        {
          label: 'middle',
          value: 'middle'
        },
        {
          label: 'end',
          value: 'end'
        }
      ]
    },
    {
      id: 'echartOption.yAxis.nameGap',
      label: '坐标轴名称与轴线距离',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.nameRotate',
      label: '坐标轴名字旋转',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.inverse',
      label: '反向坐标轴',
      type: 'switch'
    },
    {
      id: 'echartOption.yAxis.splitNumber',
      label: '分割段数',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.minorSplitLine.show',
      label: '显示次分隔线',
      type: 'switch'
    },
    {
      id: 'echartOption.yAxis.splitArea.show',
      label: '显示分隔区域',
      type: 'switch'
    },
    {
      label: '坐标轴名称的文字样式',
      type: 'title'
    },
    {
      id: 'echartOption.yAxis.nameTextStyle.color',
      label: '坐标轴名称颜色',
      type: 'color'
    },
    {
      id: 'echartOption.yAxis.nameTextStyle.fontStyle',
      label: '坐标轴名称字体风格',
      type: 'select',
      list: [
        {
          label: 'normal',
          value: 'normal'
        },
        {
          label: 'italic',
          value: 'italic'
        },
        {
          label: 'oblique',
          value: 'oblique'
        }
      ]
    },
    {
      id: 'echartOption.yAxis.nameTextStyle.fontWeight',
      label: '坐标轴名称字体粗细',
      type: 'select',
      list: [
        {
          label: 'normal',
          value: 'normal'
        },
        {
          label: 'bold',
          value: 'bold'
        },
        {
          label: 'bolder',
          value: 'bolder'
        },
        {
          label: 'lighter',
          value: 'lighter'
        },
        {
          label: '100',
          value: '100'
        },
        {
          label: '200',
          value: '200'
        },
        {
          label: '300',
          value: '300'
        },
        {
          label: '400',
          value: '400'
        },
        {
          label: '500',
          value: '500'
        },
        {
          label: '600',
          value: '600'
        },
        {
          label: '700',
          value: '700'
        },
        {
          label: '800',
          value: '800'
        },
        {
          label: '900',
          value: '900'
        }
      ]
    },
    {
      id: 'echartOption.yAxis.nameTextStyle.fontFamily',
      label: '坐标轴名称字体系列',
      type: 'select',
      list: [
        {
          label: 'sans-serif',
          value: 'sans-serif'
        },
        {
          label: 'monospace',
          value: 'monospace'
        },
        {
          label: 'Arial',
          value: 'Arial'
        },
        {
          label: 'Courier New',
          value: 'Courier New'
        },
        {
          label: 'Microsoft YaHei',
          value: 'Microsoft YaHei'
        }
      ]
    },
    {
      id: 'echartOption.yAxis.nameTextStyle.fontSize',
      label: '坐标轴名称字体大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.nameTextStyle.align',
      label: '坐标轴名称水平对齐',
      type: 'select',
      list: [
        {
          label: 'auto',
          value: 'auto'
        },
        {
          label: 'left',
          value: 'left'
        },
        {
          label: 'center',
          value: 'center'
        },
        {
          label: 'right',
          value: 'right'
        }
      ]
    },
    {
      id: 'echartOption.yAxis.nameTextStyle.verticalAlign',
      label: '坐标轴名称垂直对齐',
      type: 'select',
      list: [
        {
          label: 'auto',
          value: 'auto'
        },
        {
          label: 'top',
          value: 'top'
        },
        {
          label: 'middle',
          value: 'middle'
        },
        {
          label: 'bottom',
          value: 'bottom'
        }
      ]
    },
    {
      id: 'echartOption.yAxis.nameTextStyle.textBorderColor',
      label: '坐标轴名称边框颜色',
      type: 'color'
    },
    {
      id: 'echartOption.yAxis.nameTextStyle.textBorderWidth',
      label: '坐标轴名称边框宽度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.nameTextStyle.borderRadius',
      label: '坐标轴名称圆角',
      type: 'padding'
    },
    {
      id: 'echartOption.yAxis.nameTextStyle.padding',
      label: '坐标轴名称内边距',
      type: 'padding'
    },
    {
      id: 'echartOption.yAxis.nameTextStyle.textShadowColor',
      label: '坐标轴名称描边颜色',
      type: 'color'
    },
    {
      id: 'echartOption.yAxis.nameTextStyle.textShadowBlur',
      label: '坐标轴名称描边长度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.nameTextStyle.textShadowOffsetX',
      label: '坐标轴名称描边X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.nameTextStyle.textShadowOffsetY',
      label: '坐标轴名称描边Y',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.nameTextStyle.shadowColor',
      label: '坐标轴名称阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.yAxis.nameTextStyle.shadowBlur',
      label: '坐标轴名称阴影长度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.nameTextStyle.shadowOffsetX',
      label: '坐标轴名称阴影X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.nameTextStyle.shadowOffsetY',
      label: '坐标轴名称阴影Y',
      type: 'inputNumber'
    },
    {
      label: '坐标轴轴线相关设置',
      type: 'title'
    },
    {
      id: 'echartOption.yAxis.axisLine.show',
      label: '显示坐标轴轴线',
      type: 'switch'
    },
    {
      id: 'echartOption.yAxis.axisLine.lineStyle.color',
      label: '坐标轴线线颜色',
      type: 'color'
    },
    {
      id: 'echartOption.yAxis.axisLine.lineStyle.width',
      label: '坐标轴线线宽',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.axisLine.lineStyle.type',
      label: '坐标轴线类型',
      type: 'select',
      list: [
        {
          label: 'solid',
          value: 'solid'
        },
        {
          label: 'dashed',
          value: 'dashed'
        },
        {
          label: 'dotted',
          value: 'dotted'
        }
      ]
    },
    {
      id: 'echartOption.yAxis.axisLine.lineStyle.shadowBlur',
      label: '坐标轴阴影模糊大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.axisLine.lineStyle.shadowColor',
      label: '坐标轴阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.yAxis.axisLine.lineStyle.shadowOffsetX',
      label: '坐标轴阴影X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.axisLine.lineStyle.shadowOffsetY',
      label: '坐标轴阴影Y',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.axisLine.lineStyle.opacity',
      label: '坐标轴透明度',
      type: 'inputNumber'
    },
    {
      label: '坐标轴刻度相关设置',
      type: 'title'
    },
    {
      id: 'echartOption.yAxis.axisTick.show',
      label: '显示坐标轴刻度',
      type: 'switch'
    },
    {
      id: 'echartOption.yAxis.axisTick.inside',
      label: '是否朝内',
      type: 'switch'
    },
    {
      id: 'echartOption.yAxis.axisTick.length',
      label: '坐标轴刻度长度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.axisTick.lineStyle.width',
      label: '坐标轴线线宽',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.axisTick.lineStyle.type',
      label: '坐标轴线类型',
      type: 'select',
      list: [
        {
          label: 'solid',
          value: 'solid'
        },
        {
          label: 'dashed',
          value: 'dashed'
        },
        {
          label: 'dotted',
          value: 'dotted'
        }
      ]
    },
    {
      id: 'echartOption.yAxis.axisTick.lineStyle.shadowBlur',
      label: '坐标轴阴影模糊大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.axisTick.lineStyle.shadowColor',
      label: '坐标轴阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.yAxis.axisTick.lineStyle.shadowOffsetX',
      label: '坐标轴阴影X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.axisTick.lineStyle.shadowOffsetY',
      label: '坐标轴阴影Y',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.axisTick.lineStyle.opacity',
      label: '坐标轴透明度',
      type: 'inputNumber'
    },
    {
      label: '坐标轴次刻度线相关设置',
      type: 'title'
    },
    {
      id: 'echartOption.yAxis.minorTick.show',
      label: '显示次刻度线',
      type: 'switch'
    },
    {
      id: 'echartOption.yAxis.minorTick.splitNumber',
      label: '次刻度线分割数',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.minorTick.length',
      label: '次刻度线长度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.minorTick.lineStyle.width',
      label: '坐标轴线线宽',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.minorTick.lineStyle.type',
      label: '坐标轴线类型',
      type: 'select',
      list: [
        {
          label: 'solid',
          value: 'solid'
        },
        {
          label: 'dashed',
          value: 'dashed'
        },
        {
          label: 'dotted',
          value: 'dotted'
        }
      ]
    },
    {
      id: 'echartOption.yAxis.minorTick.lineStyle.shadowBlur',
      label: '坐标轴阴影模糊大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.minorTick.lineStyle.shadowColor',
      label: '坐标轴阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.yAxis.minorTick.lineStyle.shadowOffsetX',
      label: '坐标轴阴影X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.minorTick.lineStyle.shadowOffsetY',
      label: '坐标轴阴影Y',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.minorTick.lineStyle.opacity',
      label: '坐标轴透明度',
      type: 'inputNumber'
    },
    {
      label: '坐标轴刻度标签的相关设置',
      type: 'title'
    },
    {
      id: 'echartOption.yAxis.axisLabel.show',
      label: '显示刻度标签',
      type: 'switch'
    },
    {
      id: 'echartOption.yAxis.axisLabel.inside',
      label: '是否朝内',
      type: 'switch'
    },
    {
      id: 'echartOption.yAxis.axisLabel.margin',
      label: '刻度标签与轴线距离',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.axisLabel.fontStyle',
      label: '刻度标签字体风格',
      type: 'select',
      list: [
        {
          label: 'normal',
          value: 'normal'
        },
        {
          label: 'italic',
          value: 'italic'
        },
        {
          label: 'oblique',
          value: 'oblique'
        }
      ]
    },
    {
      id: 'echartOption.yAxis.axisLabel.fontWeight',
      label: '刻度标签字体粗细',
      type: 'select',
      list: [
        {
          label: 'normal',
          value: 'normal'
        },
        {
          label: 'bold',
          value: 'bold'
        },
        {
          label: 'bolder',
          value: 'bolder'
        },
        {
          label: 'lighter',
          value: 'lighter'
        },
        {
          label: '100',
          value: '100'
        },
        {
          label: '200',
          value: '200'
        },
        {
          label: '300',
          value: '300'
        },
        {
          label: '400',
          value: '400'
        },
        {
          label: '500',
          value: '500'
        },
        {
          label: '600',
          value: '600'
        },
        {
          label: '700',
          value: '700'
        },
        {
          label: '800',
          value: '800'
        },
        {
          label: '900',
          value: '900'
        }
      ]
    },
    {
      id: 'echartOption.yAxis.axisLabel.fontFamily',
      label: '刻度标签字体系列',
      type: 'select',
      list: [
        {
          label: 'sans-serif',
          value: 'sans-serif'
        },
        {
          label: 'monospace',
          value: 'monospace'
        },
        {
          label: 'Arial',
          value: 'Arial'
        },
        {
          label: 'Courier New',
          value: 'Courier New'
        },
        {
          label: 'Microsoft YaHei',
          value: 'Microsoft YaHei'
        }
      ]
    },
    {
      id: 'echartOption.yAxis.axisLabel.fontSize',
      label: '刻度标签字体大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.axisLabel.align',
      label: '刻度标签水平对齐',
      type: 'select',
      list: [
        {
          label: 'auto',
          value: 'auto'
        },
        {
          label: 'left',
          value: 'left'
        },
        {
          label: 'center',
          value: 'center'
        },
        {
          label: 'right',
          value: 'right'
        }
      ]
    },
    {
      id: 'echartOption.yAxis.axisLabel.verticalAlign',
      label: '刻度标签垂直对齐',
      type: 'select',
      list: [
        {
          label: 'auto',
          value: 'auto'
        },
        {
          label: 'top',
          value: 'top'
        },
        {
          label: 'middle',
          value: 'middle'
        },
        {
          label: 'bottom',
          value: 'bottom'
        }
      ]
    },
    {
      id: 'echartOption.yAxis.axisLabel.textBorderColor',
      label: '刻度标签边框颜色',
      type: 'color'
    },
    {
      id: 'echartOption.yAxis.axisLabel.textBorderWidth',
      label: '刻度标签边框宽度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.axisLabel.borderRadius',
      label: '刻度标签圆角',
      type: 'padding'
    },
    {
      id: 'echartOption.yAxis.axisLabel.padding',
      label: '刻度标签内边距',
      type: 'padding'
    },
    {
      id: 'echartOption.yAxis.axisLabel.textShadowColor',
      label: '刻度标签描边颜色',
      type: 'color'
    },
    {
      id: 'echartOption.yAxis.axisLabel.textShadowBlur',
      label: '刻度标签描边长度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.axisLabel.textShadowOffsetX',
      label: '刻度标签描边X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.axisLabel.textShadowOffsetY',
      label: '刻度标签描边Y',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.axisLabel.shadowColor',
      label: '刻度标签阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.yAxis.axisLabel.shadowBlur',
      label: '刻度标签阴影长度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.axisLabel.shadowOffsetX',
      label: '刻度标签阴影X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.axisLabel.shadowOffsetY',
      label: '刻度标签阴影Y',
      type: 'inputNumber'
    },
    {
      label: '坐标轴在grid区域中的分隔线',
      type: 'title'
    },
    {
      id: 'echartOption.yAxis.splitLine.show',
      label: '显示分隔线',
      type: 'switch'
    },
    {
      id: 'echartOption.yAxis.splitLine.lineStyle.width',
      label: '分隔线线线宽',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.splitLine.lineStyle.type',
      label: '分隔线线类型',
      type: 'select',
      list: [
        {
          label: 'solid',
          value: 'solid'
        },
        {
          label: 'dashed',
          value: 'dashed'
        },
        {
          label: 'dotted',
          value: 'dotted'
        }
      ]
    },
    {
      id: 'echartOption.yAxis.splitLine.lineStyle.shadowBlur',
      label: '分隔线阴影模糊大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.splitLine.lineStyle.shadowColor',
      label: '分隔线阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.yAxis.splitLine.lineStyle.shadowOffsetX',
      label: '分隔线阴影X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.splitLine.lineStyle.shadowOffsetY',
      label: '分隔线阴影Y',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.yAxis.splitLine.lineStyle.opacity',
      label: '分隔线透明度',
      type: 'inputNumber'
    }
  ];

// tooltip通用配置
  var tooltip = [
    {
      id: 'echartOption.tooltip.show',
      label: '显示提示框组件',
      type: 'switch'
    },
    {
      id: 'echartOption.tooltip.showContent',
      label: '显示提示框浮层',
      type: 'switch'
    },
    {
      id: 'echartOption.tooltip.trigger',
      label: '触发类型',
      type: 'select',
      list: [
        {
          label: '数据项图形触发',
          value: 'item'
        },
        {
          label: '坐标轴触发',
          value: 'axis'
        },
        {
          label: '不触发',
          value: 'none'
        }
      ]
    },
    {
      id: 'echartOption.tooltip.backgroundColor',
      label: '提示框背景颜色',
      type: 'color'
    },
    {
      id: 'echartOption.tooltip.borderWidth',
      label: '提示框边框宽',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.padding',
      label: '提示框内边距',
      type: 'padding'
    },
    {
      label: '提示框浮层的文本样式',
      type: 'title'
    },
    {
      id: 'echartOption.tooltip.textStyle.color',
      label: '文字颜色',
      type: 'color'
    },
    {
      id: 'echartOption.tooltip.textStyle.fontStyle',
      label: '文字字体风格',
      type: 'select',
      list: [
        {
          label: 'normal',
          value: 'normal'
        },
        {
          label: 'italic',
          value: 'italic'
        },
        {
          label: 'oblique',
          value: 'oblique'
        }
      ]
    },
    {
      id: 'echartOption.tooltip.textStyle.fontWeight',
      label: '文字字体粗细',
      type: 'select',
      list: [
        {
          label: 'normal',
          value: 'normal'
        },
        {
          label: 'bold',
          value: 'bold'
        },
        {
          label: 'bolder',
          value: 'bolder'
        },
        {
          label: 'lighter',
          value: 'lighter'
        },
        {
          label: '100',
          value: '100'
        },
        {
          label: '200',
          value: '200'
        },
        {
          label: '300',
          value: '300'
        },
        {
          label: '400',
          value: '400'
        },
        {
          label: '500',
          value: '500'
        },
        {
          label: '600',
          value: '600'
        },
        {
          label: '700',
          value: '700'
        },
        {
          label: '800',
          value: '800'
        },
        {
          label: '900',
          value: '900'
        }
      ]
    },
    {
      id: 'echartOption.tooltip.textStyle.fontFamily',
      label: '文字字体系列',
      type: 'select',
      list: [
        {
          label: 'sans-serif',
          value: 'sans-serif'
        },
        {
          label: 'monospace',
          value: 'monospace'
        },
        {
          label: 'Arial',
          value: 'Arial'
        },
        {
          label: 'Courier New',
          value: 'Courier New'
        },
        {
          label: 'Microsoft YaHei',
          value: 'Microsoft YaHei'
        }
      ]
    },
    {
      id: 'echartOption.tooltip.textStyle.fontSize',
      label: '文字字体大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.textStyle.textBorderColor',
      label: '文字边框颜色',
      type: 'color'
    },
    {
      id: 'echartOption.tooltip.textStyle.textBorderWidth',
      label: '文字边框宽度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.textStyle.textShadowColor',
      label: '文字阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.tooltip.textStyle.textShadowBlur',
      label: '文字阴影长度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.textStyle.textShadowOffsetX',
      label: '文字阴影X偏移',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.textStyle.textShadowOffsetY',
      label: '文字阴影Y偏移',
      type: 'inputNumber'
    },
    {
      label: '坐标轴指示器配置项',
      type: 'title'
    },
    {
      id: 'echartOption.tooltip.axisPointer.type',
      label: '指示器类型',
      type: 'select',
      list: [
        {
          label: '直线指示器',
          value: 'line'
        },
        {
          label: '阴影指示器',
          value: 'shadow'
        },
        {
          label: '无指示器',
          value: 'none'
        },
        {
          label: '十字准星指示器',
          value: 'cross'
        }
      ]
    },
    {
      id: 'echartOption.tooltip.axisPointer.animation',
      label: '开启动画',
      type: 'switch'
    },
    {
      label: '坐标轴指示器的文本标签',
      type: 'title'
    },
    {
      id: 'echartOption.tooltip.axisPointer.label.show',
      label: '显示文本标签',
      type: 'switch'
    },
    {
      id: 'echartOption.tooltip.axisPointer.label.margin',
      label: 'label距离轴距离',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.axisPointer.label.color',
      label: 'label文字颜色',
      type: 'color'
    },
    {
      id: 'echartOption.tooltip.axisPointer.label.fontStyle',
      label: 'label文字字体风格',
      type: 'select',
      list: [
        {
          label: 'normal',
          value: 'normal'
        },
        {
          label: 'italic',
          value: 'italic'
        },
        {
          label: 'oblique',
          value: 'oblique'
        }
      ]
    },
    {
      id: 'echartOption.tooltip.axisPointer.label.fontWeight',
      label: 'label文字字体粗细',
      type: 'select',
      list: [
        {
          label: 'normal',
          value: 'normal'
        },
        {
          label: 'bold',
          value: 'bold'
        },
        {
          label: 'bolder',
          value: 'bolder'
        },
        {
          label: 'lighter',
          value: 'lighter'
        },
        {
          label: '100',
          value: '100'
        },
        {
          label: '200',
          value: '200'
        },
        {
          label: '300',
          value: '300'
        },
        {
          label: '400',
          value: '400'
        },
        {
          label: '500',
          value: '500'
        },
        {
          label: '600',
          value: '600'
        },
        {
          label: '700',
          value: '700'
        },
        {
          label: '800',
          value: '800'
        },
        {
          label: '900',
          value: '900'
        }
      ]
    },
    {
      id: 'echartOption.tooltip.axisPointer.label.fontFamily',
      label: 'label文字字体系列',
      type: 'select',
      list: [
        {
          label: 'sans-serif',
          value: 'sans-serif'
        },
        {
          label: 'monospace',
          value: 'monospace'
        },
        {
          label: 'Arial',
          value: 'Arial'
        },
        {
          label: 'Courier New',
          value: 'Courier New'
        },
        {
          label: 'Microsoft YaHei',
          value: 'Microsoft YaHei'
        }
      ]
    },
    {
      id: 'echartOption.tooltip.axisPointer.label.fontSize',
      label: 'label文字字体大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.axisPointer.label.textBorderColor',
      label: 'label文字边框颜色',
      type: 'color'
    },
    {
      id: 'echartOption.tooltip.axisPointer.label.textBorderWidth',
      label: 'label文字边框宽度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.axisPointer.label.padding',
      label: 'label文字内边距',
      type: 'padding'
    },
    {
      id: 'echartOption.tooltip.axisPointer.label.textShadowColor',
      label: 'label文字描边颜色',
      type: 'color'
    },
    {
      id: 'echartOption.tooltip.axisPointer.label.textShadowBlur',
      label: 'label文字描边长度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.axisPointer.label.textShadowOffsetX',
      label: 'label文字描边X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.axisPointer.label.textShadowOffsetY',
      label: 'label文字描边Y',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.axisPointer.label.shadowColor',
      label: 'label文字阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.tooltip.axisPointer.label.shadowBlur',
      label: 'label文字阴影长度',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.axisPointer.label.shadowOffsetX',
      label: 'label文字阴影X',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.axisPointer.label.shadowOffsetY',
      label: 'label文字阴影Y',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.axisPointer.label.backgroundColor',
      label: 'label文字背景色',
      type: 'color'
    },
    {
      label: '坐标轴类型为line时有效',
      type: 'title'
    },
    {
      id: 'echartOption.tooltip.axisPointer.lineStyle.color',
      label: '颜色',
      type: 'color'
    },
    {
      id: 'echartOption.tooltip.axisPointer.lineStyle.width',
      label: '线宽',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.axisPointer.lineStyle.type',
      label: '类型',
      type: 'select',
      list: [
        {
          label: 'solid',
          value: 'solid'
        },
        {
          label: 'dashed',
          value: 'dashed'
        },
        {
          label: 'dotted',
          value: 'dotted'
        }
      ]
    },
    {
      id: 'echartOption.tooltip.axisPointer.lineStyle.shadowBlur',
      label: '阴影模糊大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.axisPointer.lineStyle.shadowColor',
      label: '阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.tooltip.axisPointer.lineStyle.shadowOffsetX',
      label: '阴影X偏移',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.axisPointer.lineStyle.shadowOffsetY',
      label: '阴影Y偏移',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.axisPointer.lineStyle.opacity',
      label: '透明度',
      type: 'inputNumber'
    },
    {
      label: '坐标轴类型为shadow时有效',
      type: 'title'
    },
    {
      id: 'echartOption.tooltip.axisPointer.shadowStyle.color',
      label: '颜色',
      type: 'color'
    },
    {
      id: 'echartOption.tooltip.axisPointer.shadowStyle.width',
      label: '线宽',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.axisPointer.shadowStyle.type',
      label: '类型',
      type: 'select',
      list: [
        {
          label: 'solid',
          value: 'solid'
        },
        {
          label: 'dashed',
          value: 'dashed'
        },
        {
          label: 'dotted',
          value: 'dotted'
        }
      ]
    },
    {
      id: 'echartOption.tooltip.axisPointer.shadowStyle.shadowBlur',
      label: '阴影模糊大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.axisPointer.shadowStyle.shadowColor',
      label: '阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.tooltip.axisPointer.shadowStyle.shadowOffsetX',
      label: '阴影X偏移',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.axisPointer.shadowStyle.shadowOffsetY',
      label: '阴影Y偏移',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.axisPointer.shadowStyle.opacity',
      label: '透明度',
      type: 'inputNumber'
    },
    {
      label: '坐标轴类型为cross时有效',
      type: 'title'
    },
    {
      id: 'echartOption.tooltip.axisPointer.crossStyle.color',
      label: '颜色',
      type: 'color'
    },
    {
      id: 'echartOption.tooltip.axisPointer.crossStyle.width',
      label: '线宽',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.axisPointer.crossStyle.type',
      label: '类型',
      type: 'select',
      list: [
        {
          label: 'solid',
          value: 'solid'
        },
        {
          label: 'dashed',
          value: 'dashed'
        },
        {
          label: 'dotted',
          value: 'dotted'
        }
      ]
    },
    {
      id: 'echartOption.tooltip.axisPointer.crossStyle.shadowBlur',
      label: '阴影模糊大小',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.axisPointer.crossStyle.shadowColor',
      label: '阴影颜色',
      type: 'color'
    },
    {
      id: 'echartOption.tooltip.axisPointer.crossStyle.shadowOffsetX',
      label: '阴影X偏移',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.axisPointer.crossStyle.shadowOffsetY',
      label: '阴影Y偏移',
      type: 'inputNumber'
    },
    {
      id: 'echartOption.tooltip.axisPointer.crossStyle.opacity',
      label: '透明度',
      type: 'inputNumber'
    }
  ];
  this.xaEchartsCommonConfig = [
    {
      label: '标题',
      id: 'title',
      children: titleConfig
    },
    {
      label: '图例',
      id: 'legend',
      children: legendConfig
    },
    {
      label: '网格',
      id: 'grid',
      children: grid
    },
    {
      label: '提示框',
      id: 'tooltip',
      children: tooltip
    }
  ];
// 折线图配置
  this.xaEchartsLineConfig = [
    {
      label: '标题',
      id: 'title',
      children: titleConfig
    },
    {
      label: '图例',
      id: 'legend',
      children: legendConfig
    },
    {
      label: '网格',
      id: 'grid',
      children: grid
    },
    {
      label: 'X轴',
      id: 'xAxis',
      children: xAxis
    },
    {
      label: 'Y轴',
      id: 'yAxis',
      children: yAxis
    },
    {
      label: '提示框',
      id: 'tooltip',
      children: tooltip
    }
  ];

// 柱状图配置
  this.xaEchartsBarConfig = [
    {
      label: '标题',
      id: 'title',
      children: titleConfig
    },
    {
      label: '图例',
      id: 'legend',
      children: legendConfig
    },
    {
      label: '网格',
      id: 'grid',
      children: grid
    },
    {
      label: 'X轴',
      id: 'xAxis',
      children: xAxis
    },
    {
      label: 'Y轴',
      id: 'yAxis',
      children: yAxis
    },
    {
      label: '提示框',
      id: 'tooltip',
      children: tooltip
    }
  ];

// 堆叠柱状图配置
  this.xaEchartsBarStackConfig = [
    {
      label: '标题',
      id: 'title',
      children: titleConfig
    },
    {
      label: '图例',
      id: 'legend',
      children: legendConfig
    },
    {
      label: '网格',
      id: 'grid',
      children: grid
    },
    {
      label: 'X轴',
      id: 'xAxis',
      children: xAxis
    },
    {
      label: 'Y轴',
      id: 'yAxis',
      children: yAxis
    },
    {
      label: '提示框',
      id: 'tooltip',
      children: tooltip
    }
  ];

// 饼图配置
  this.xaEchartsPieConfig = [
    {
      label: '标题',
      id: 'title',
      children: titleConfig
    },
    {
      label: '图例',
      id: 'legend',
      children: legendConfig
    },
    {
      label: '提示框',
      id: 'tooltip',
      children: tooltip
    }
  ];

// 散点图配置
  this.xaEchartsScatterConfig = [
    {
      label: '标题',
      id: 'title',
      children: titleConfig
    },
    {
      label: '图例',
      id: 'legend',
      children: legendConfig
    },
    {
      label: '网格',
      id: 'grid',
      children: grid
    },
    {
      label: 'X轴',
      id: 'xAxis',
      children: xAxis
    },
    {
      label: 'Y轴',
      id: 'yAxis',
      children: yAxis
    },
    {
      label: '提示框',
      id: 'tooltip',
      children: tooltip
    }
  ];

// 雷达图配置
  this.xaEchartsRadarConfig = [
    {
      label: '标题',
      id: 'title',
      children: titleConfig
    },
    {
      label: '图例',
      id: 'legend',
      children: legendConfig
    },
    {
      label: '提示框',
      id: 'tooltip',
      children: tooltip
    }
  ];

// 盒须图配置
  this.xaEchartsBoxplotConfig = [
    {
      label: '标题',
      id: 'title',
      children: titleConfig
    },
    {
      label: '图例',
      id: 'legend',
      children: legendConfig
    },
    {
      label: '网格',
      id: 'grid',
      children: grid
    },
    {
      label: 'X轴',
      id: 'xAxis',
      children: xAxis
    },
    {
      label: 'Y轴',
      id: 'yAxis',
      children: yAxis
    },
    {
      label: '提示框',
      id: 'tooltip',
      children: tooltip
    }
  ];

// 树图配置
  this.xaEchartsTreeConfig = [
    {
      label: '标题',
      id: 'title',
      children: titleConfig
    },
    {
      label: '图例',
      id: 'legend',
      children: legendConfig
    },
    {
      label: '提示框',
      id: 'tooltip',
      children: tooltip
    }
  ];

// 矩形树图配置
  this.xaEchartsTreeMapConfig = [
    {
      label: '标题',
      id: 'title',
      children: titleConfig
    },
    {
      label: '图例',
      id: 'legend',
      children: legendConfig
    },
    {
      label: '提示框',
      id: 'tooltip',
      children: tooltip
    }
  ];

// 旭日图配置
  this.xaEchartsSunburstConfig = [
    {
      label: '标题',
      id: 'title',
      children: titleConfig
    },
    {
      label: '图例',
      id: 'legend',
      children: legendConfig
    },
    {
      label: '提示框',
      id: 'tooltip',
      children: tooltip
    }
  ];

// 漏斗图配置
  this.xaEchartsFunnelConfig = [
    {
      label: '标题',
      id: 'title',
      children: titleConfig
    },
    {
      label: '图例',
      id: 'legend',
      children: legendConfig
    },
    {
      label: '提示框',
      id: 'tooltip',
      children: tooltip
    }
  ];

// 仪表盘配置
  this.xaEchartsGaugeConfig = [
    {
      label: '标题',
      id: 'title',
      children: titleConfig
    },
    {
      label: '图例',
      id: 'legend',
      children: legendConfig
    },
    {
      label: '提示框',
      id: 'tooltip',
      children: tooltip
    }
  ];

}
McEchartsUtil.prototype = {
  mounted :function () {
    var echarConfig=null;
    if(this.type == 'line'){
      echarConfig = this.xaEchartsLineConfig.slice()
    }else
    if(this.type == 'bar'){
      echarConfig = this.xaEchartsBarConfig.slice()
    }else
    if(this.type == 'barStack'){
      echarConfig = this.xaEchartsBarStackConfig.slice()
    }else
    if(this.type == 'pie'){
      echarConfig = this.xaEchartsPieConfig.slice()
    }else
    if(this.type == 'scatter'){
      echarConfig = this.xaEchartsScatterConfig.slice()
    }else
    if(this.type == 'radar'){
      echarConfig = this.xaEchartsRadarConfig.slice()
    }else
    if(this.type == 'boxplot'){
      echarConfig = this.xaEchartsBoxplotConfig.slice()
    }else
    if(this.type == 'tree'){
      echarConfig = this.xaEchartsTreeConfig.slice()
    }else
    if(this.type == 'treeMap'){
      echarConfig = this.xaEchartsTreeMapConfig.slice()
    }else
    if(this.type == 'sunburst'){
      echarConfig = this.xaEchartsSunburstConfig.slice()
    }else
    if(this.type == 'funnel'){
      echarConfig = this.xaEchartsFunnelConfig.slice()
    }else
    if(this.type == 'gauge'){
      echarConfig = this.xaEchartsGaugeConfig.slice()
    }else{
      echarConfig = this.xaEchartsCommonConfig.slice()
    }
    var tabitemStr='';
    var htmlstr=[];
    var formData = {}
    for(var i=0;i<echarConfig.length;i++){
      let echarItem = echarConfig[i].children.slice()
      var objs= this.initData(echarItem);
      for(var key in objs){
        formData[key] = objs[key];
      }
      htmlstr[i] = this.createFormItem(echarItem);
      //lazy 提升了性能
      tabitemStr+='<el-tab-pane :lazy="true" label="'+echarConfig[i].label+'" name="'+i+'">'+htmlstr[i]+'</el-tab-pane>'
    }
    var tabstr='<el-tabs v-model="activeName">'+tabitemStr+'</el-tabs>'
    return {data:formData,html:tabstr}
  },
  createFormItem:function (currentChartOptions) {
    var htmlstr='<el-form :model="echartOption" label-width="120px" size="mini">'
    for(var i=0;i<currentChartOptions.length;i++){
      var item = currentChartOptions[i];
      var str = this.jsonToFormItem(null, item, this); // 方便builtin.js调用此对象的handlerData方法
      if (item.hidden && typeof item.hidden === 'function' && item.hidden()) {
        str= ''
      }
      if (item.hidden) {
        str= ''
      }
      if(str!=''){
        str ='<el-form-item label="'+item.label+'">'+str+'</el-form-item>'
      }
      htmlstr+=str;
    }
    htmlstr+='</el-form>'

    return htmlstr;
  },


  //传入json数据，生成chartOptions数据
  initData:function (arr){
    var echartOption={};
    var sl = 'echartOption.'.length;
    for(var i=0;i<arr.length;i++){
      //console.log(i+"-------------");
      var itemId = arr[i].id;
      //console.log(itemId+"    "+sl);
      if(itemId!=undefined){
        var str = itemId.substring(sl); //取出chartOptions.后边的字符串
        this.dg(echartOption,str);
      }
    }
    return echartOption;
  },

  dg:function (obj, id){
    var index = id.indexOf(".");
    var v1 = id.substring(0,index) //取出第一个点前的字段
    var v2 = id.substring(index+1);//取出第换一个点后的所有字段
    if(index==-1){
      v1 = id;  //没有点，就剩最后一个字段
      return
    }
    if(v1 in obj){
      //当前对象下有这个key
    }else{
      if(index==-1){
        obj[v1]='';
      }else{
        obj[v1]={}; //没有就添加
      }
    }
    if(index!=-1)
    {
      this.dg(obj[v1],v2);//还有点，就继续执行
    }
  },

  jsonToFormItem:function (h, item, vm){
    let renderDom = null;

    switch (item.type) {
      case 'input':
        renderDom='<el-input v-model="'+item.id+'"></el-input>'
        break;
      case 'inputNumber':

        renderDom = '<el-input-number v-model="'+item.id+'"></el-input-number>'

        break;
      case 'select':
        let optstr='';
        for(var i=0;i<item.list.length;i++){
          optstr+='<el-option label="'+item.list[i].label+'" value="'+item.list[i].value+'"></el-option>';
        }
        renderDom ='<el-select v-model="'+item.id+'" placeholder="请选择">'+optstr+'</el-select>';

        break;
      case 'switch':

        renderDom='<el-switch v-model="'+item.id+'" active-text="是" inactive-text="否"></el-switch>'

        break;
      case 'color':
        renderDom ='<el-color-picker v-model="'+item.id+'"></el-color-picker>'

        break;
      case 'icon':

        break;
      case 'code':

        break;
      case 'chartStyleSetting':

        break;
      case 'padding':
        renderDom = '<span style="font-size:12px">--</span>'
        break;
      case 'title':
        renderDom = '<span class="attributs-setting__title">'+item.label+' :</span>';
        break;
      case 'tips':
        renderDom = '<span class="attributs-setting__tips">'+item.label+'</span>';
        break;
      case 'custom':

        break;
    }
    return renderDom;
  }

}
function McEchartsUtilConfig(){

}
McEchartsUtilConfig.prototype.buildDataSource = function (buildParam){
  var config = {
    type:"html",
    category:"数据",
    callback:{
      htmlCallback:function(param){
        return ''+
          '<div class="layui-row layui-col-space3" id="mcEchartsDataManagerApp">'+
            '<template>'+
            '<div class="layui-col-xs12">'+
                '<el-row>'+
                    '<el-col :span="24">'+
                        '<el-radio-group v-model="echarts.dataManager.dataType"  size="mini" style="margin-bottom:10px">'+
                          '<el-radio-button :label="0">系统</el-radio-button>'+
                          '<el-radio-button :label="1">测试</el-radio-button>'+
                          '<el-radio-button :label="2">未知</el-radio-button>'+
                          '<el-radio-button :label="3">自定义数据</el-radio-button>'+
                        '</el-radio-group>'+
                        '<mc-api-choose v-if="echarts.dataManager.dataType==0"'+
                            'db-url="magical_lowcode/user/database/list"'+
                           'table-url="magical_lowcode/user/table/info"'+
                           'api-url="magical_lowcode/user/api/list"'+
                           ':data="echarts.dataManager.choose0"'+
                           ':project-uuid="projectUuid"'+
                           '></mc-api-choose>'+
                         '<el-form v-if="echarts.dataManager.dataType==1" label-position="left" size="mini" label-width="60px">'+
                              '<el-form-item label="数据源">'+
                                '<el-select v-model="echarts.dataManager.choose1.sourceApi" @change="changeSourceApi">'+
                                    '<el-option v-for="(item,idx) in sourceApiList" :key="item.title" :label="item.title" :value="item.url"></el-option>'+
                                '</el-select>'+
                            '</el-form-item>'+
                            '<el-form-item label="X轴">'+
                                '<el-select v-model="echarts.dataManager.choose1.x">'+
                                      '<el-option v-for="(item,idx) in xList" :key="item.name" :label="item.title" :value="item.name"></el-option>'+
                                '</el-select>'+
                            '</el-form-item>'+
                            '<el-form-item label="Y轴">'+
                                '<el-select v-model="echarts.dataManager.choose1.y">'+
                                    '<el-option v-for="(item,idx) in yList" :key="item.name" :label="item.title" :value="item.name"></el-option>'+
                                '</el-select>'+
                            '</el-form-item>'+
                        '</el-form>'+
                        '<el-form v-if="echarts.dataManager.dataType==2" label-position="left" size="mini" label-width="60px">'+
                            '<el-form-item label="数据源">'+
                                '<el-input v-model="echarts.dataManager.choose2.sourceApi"></el-input>'+
                            '</el-form-item>'+
                            '<el-form-item label="X轴">'+
                                '<el-input v-model="echarts.dataManager.choose2.x"></el-input>'+
                            '</el-form-item>'+
                            '<el-form-item label="Y轴">'+
                                '<el-input v-model="echarts.dataManager.choose2.y"></el-input>'+
                            '</el-form-item>'+
                        '</el-form>'+
                        '<el-form v-if="echarts.dataManager.dataType==3" label-position="left" size="mini" label-width="0px">'+
                            '<el-form-item>'+
                                '<mc-static-edit-table :fit="true" :show-header="true" border :row-size="rowSize" :data="choose3Data">'+
                                     '<mc-static-edit-table-column prop="x" label="X轴" readonly="false" edit-type="editable-textarea"></mc-static-edit-table-column>'+
                                     '<mc-static-edit-table-column prop="y" label="Y轴" readonly="false" edit-type="editable-textarea" format-type="number"></mc-static-edit-table-column>'+
                                     '<el-table-column label="操作">'+
                                            '<template slot-scope="scope">'+
                                                '<el-button mc-type="column-el-button" size="mini" type="danger" @click="deleteRow(scope.$index, scope.row)">删除</el-button>'+
                                            '</template>'+
                                     '</el-table-column>'+
                                '</mc-static-edit-table>'+
                            '</el-form-item>'+
                             '<el-form-item>'+
                                '<el-button-group>'+
                                    '<el-button @click="addRow" size="mini">增加一行</el-button>'+
                                    '<el-button @click="saveData" size="mini">保存</el-button>'+
                                '</el-button-group>'+
                            '</el-form-item>'+
                        '</el-form>'+
                    '</el-col>'+
                    '<el-col :span="24">'+
                        '<el-form>'+
                            '<el-form-item label="几秒自动刷新">'+
                                '<el-input-number v-model="echarts.dataManager.mcIntervalSeconds" :min="0" :max="3600" label="刷新频率"></el-input-number>'+
                            '</el-form-item>'+
                        '</el-form>'+
                    '</el-col>'+
                '</el-row>'+
            '</div>'+
            '</template>'+
          '</div>'+
'';
      },
      render:function (param) {
        setTimeout(function(){
          //从magicalCoder获取当前聚焦节点的属性值 准备传入vue里
          var config = param.config,focusNode=param.focusNode;
          var mcEchartsAttr = focusNode.attributes['mc-echarts-data-manager'];
          var rowSize = 0,choose3Data=[];
          if(!mcEchartsAttr){
            mcEchartsAttr = {
              dataManager:{
                mcIntervalSeconds:0,
                dataType:0,
                choose0:{
                  x:"",
                  y:"",
                  apiParam:{
                    method:"post",
                    url:"",
                    params:[],
                    filed:""
                  }
                },
                choose1:{x:"",y:"",sourceApi:""},
                choose2:{x:"",y:"",sourceApi:""},
                choose3:{data:[]}
              }
            }
          }else{
            mcEchartsAttr = {dataManager:JSON.parse(mcEchartsAttr.replace(/&quot;/g,"\"").replace(/&lt;/g,"<").replace(/&gt;/g,">"))};
            rowSize = mcEchartsAttr.dataManager.choose3.data.length;
            choose3Data = JSON.parse(JSON.stringify(mcEchartsAttr.dataManager.choose3.data));
          }
          new Vue({
            el: '#mcEchartsDataManagerApp',
            data: {
              echarts: mcEchartsAttr,
              sourceApiList:[],
              sourceApiMap :{},
              xList:[],
              yList:[],
              rowSize:rowSize,
              choose3Data:choose3Data,
              projectUuid: MagicalCoder.getUrlParameter("projectUuid")
            },
            watch:{
              echarts:{
                handler: function(newVal, oldVal) {
                  //监听到属性发生变化 那么修改属性 同时触发渲染
                  var triggerChange = false;
                  if(this.echarts.dataManager.dataType==0){
                    triggerChange = this.echarts.dataManager.choose0.apiParam.url && this.echarts.dataManager.choose0.x && this.echarts.dataManager.choose0.y;
                  }else if(this.echarts.dataManager.dataType==1){
                    triggerChange = this.echarts.dataManager.choose1.sourceApi && this.echarts.dataManager.choose1.x && this.echarts.dataManager.choose1.y;
                  }else if(this.echarts.dataManager.dataType==2){
                    triggerChange = this.echarts.dataManager.choose2.sourceApi && this.echarts.dataManager.choose2.x && this.echarts.dataManager.choose2.y;
                  }else if(this.echarts.dataManager.dataType==3){
                    triggerChange = true;
                  }
                  MAGICAL_CODER_API.changeAttr({node:focusNode,name:"mc-echarts-data-manager",value:JSON.stringify(newVal.dataManager),triggerChange:triggerChange})
                },
                deep: true
              }
            },
            methods:{
              changeSourceApi:function(value){
                this.echarts.dataManager.choose1.x="";
                this.echarts.dataManager.choose1.y="";
                this.xList = this.sourceApiMap[value].x;
                this.yList = this.sourceApiMap[value].y;
              },
              addRow:function(){
                this.rowSize++;
              },
              deleteRow:function(idx,rowData){
                this.choose3Data.splice(idx,1)
                this.rowSize--;
              },
              saveData:function(){
                //同步一下
                this.echarts.dataManager.choose3.data = JSON.parse(JSON.stringify(this.choose3Data));
              }
            },
            mounted:function(){
              var _t = this;
              MagicalCoder.ajax(true,{},buildParam.api,function(originParam,data){
                if(data.code==0){
                  var list = data.data;
                  for(var i=0;i<list.length;i++){
                    var item = list[i];
                    _t.sourceApiList.push(item);
                    _t.sourceApiMap[item.url] = item.fields;
                  }
                  var sourceApi = _t.echarts.dataManager.choose1.sourceApi;
                  if(sourceApi){
                    _t.xList = _t.sourceApiMap[sourceApi].x;
                    _t.yList = _t.sourceApiMap[sourceApi].y;
                  }
                }
              })
            }
          })
        },5)
      }
    }
  }
  return config;
}
McEchartsUtilConfig.prototype.buildAttr = function (reqParam){
  var globalFormData = {};
  var config = {
    type:"html",
        category:"基础属性",
          callback:{
            htmlCallback:function(param){
              var line = new McEchartsUtil(reqParam.type).mounted();
              globalFormData = line.data;
              return ''+
                  '<div class="layui-row layui-col-space3" id="mcEchartsAttrApp">'+
                      '<template>'+
                      '<div class="layui-col-xs12">'+
                          '<el-button @click="configAttr">开始配置</el-button>'+
                          '<el-drawer title="echarts属性配置" :visible.sync="dialogVisible"  :modal="false" :show-close="true">'+
''+line.html+''+
                          '</el-drawer>'+
                      '</div>'+
                      '</template>'+
                  '</div>'+
'';
            },
            render:function (param) {
              setTimeout(function(){
                //从magicalCoder获取当前聚焦节点的属性值 准备传入vue里
                var config = param.config,focusNode=param.focusNode;
                var mcEchartsAttr = focusNode.attributes['mc-echarts-attr'];
                var isFirstCome = true;
                if(!mcEchartsAttr){
                  mcEchartsAttr = globalFormData
                }else{
                  mcEchartsAttr = JSON.parse(mcEchartsAttr.replace(/&quot;/g,"\"").replace(/&lt;/g,"<").replace(/&gt;/g,">"));
                }
                new Vue({
                  el: '#mcEchartsAttrApp',
                  data: {
                    echartOption: mcEchartsAttr,
                    activeName: 0,
                    dialogVisible:false
                  },
                  watch:{
                    echartOption:{
                      handler: function(newVal, oldVal) {
                        if(isFirstCome){
                          isFirstCome = false;
                          return;
                        }
                        //监听到属性发生变化 那么修改属性 同时触发渲染
                        this.changeAttr();
                      },
                      deep: true
                    }
                  },
                  methods:{
                    configAttr:function (){
                      this.dialogVisible = true;
                    },
                    changeAttr:function(){
                      MAGICAL_CODER_API.changeAttr({node:focusNode,name:"mc-echarts-attr",value:JSON.stringify(this.echartOption),triggerChange:true})
                    }
                  }
                })
              },5)
            }
      }
  }
  return config;
}
